package com.example.excelapache_poi.apache_poi操作excel.excel文件导入导出;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.IOException;

/**
 * Created by IntelliJ IDEA2022.3.2
 * @Author: Tenghw
 * @Date: 2023/07/03  15:05
 * @Description: apache_poi导入Excel文件方式2
 */
@SuppressWarnings("all")
public class Daoru1 {
    public static void main(String[] args) throws IOException {
        // 1.打开或创建Excel文件(工作薄)
        XSSFWorkbook workbook = new XSSFWorkbook("E:\\exceldemo\\data.xlsx");
        // 2.获取文件中的第一个sheet(参数可以是工作表序号【即0、1、2...】,也可以是sheet名)（工作表）
        XSSFSheet sheet = workbook.getSheetAt(0);
        // 2.1.设置单元格类型，若不设置，有些numberi数据会报错（比如某列值是数字，会报错：Cannot get a STRING value from a NUMERIC cell）
        //sheet.setCellType(CellType.STRING);//这个方法我没找到,估计是poi某个版本才有这个方法
        // 3.遍历工作表获取行
        for(Row row : sheet){
            // 3.1.遍历行,获取该行的每一列
            for(Cell cell : row){
                cell.setCellType(CellType.STRING);
                String cellValue = cell.getStringCellValue();
                System.out.print(cellValue+"\t");
            }
            // 3.2.换行展示
            System.out.println();
        }
        // 关闭流
        workbook.close();
    }
}
